package com.exchange.user.service;


import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.exchange.user.dto.SelUserDto;
import com.exchange.user.dto.UserLoginDto;
import com.exchange.user.entity.SysUser;

/***
 *                    .::::.
 *                  .::::::::.
 *                 :::::::::::
 *             ..:::::::::::'
 *           '::::::::::::'
 *             .::::::::::
 *        '::::::::::::::..
 *             ..::::::::::::.
 *           ``::::::::::::::::
 *            ::::``:::::::::'        .:::.
 *           ::::'   ':::::'       .::::::::.
 *         .::::'      ::::     .:::::::'::::.
 *        .:::'       :::::  .:::::::::' ':::::.
 *       .::'        :::::.:::::::::'      ':::::.
 *      .::'         ::::::::::::::'         ``::::.
 *  ...:::           ::::::::::::'              ``::.
 * ```` ':.          ':::::::::'                  ::::..
 *                    '.:::::'                    ':'````..
 *
 * @Author liuhai
 * @Date 2020-11-02 16:56:59
 * @Description 用户管理接口
 */
public interface SysUserService extends IService<SysUser> {

    /**
     * 分页查询用户信息
     * @param selUserDto
     * @return
     */
    IPage<SysUser> getPageList(SelUserDto selUserDto);

    /**
     * 用户登录
     * @param userLoginDto
     * @return token
     */
    String userLogin(UserLoginDto userLoginDto);

    /**
     * 根据 token 获取用户信息
     * @param token
     * @return
     */
    SysUser getUserByToken(String token);

    /**
     * 根据用户ID查询用户信息
     * @param userId
     * @return
     */
    SysUser getUserById(Integer userId);

    /**
     * 修改用户
     * @param sysUser
     * @return
     */
    int uptUser(SysUser sysUser);
}
